const path = require('path');
const htmlWebpackPlugin = require('html-webpack-plugin');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
module.exports= {
    //入口，表示，要使用 webpack 打包哪个文件
    entry: path.join(__dirname, './src/main.js'),
    //输出文件的相关的配置
    output: {
        path: path.join(__dirname, './dist'),
        filename: 'bundle.js'
    },
    plugins: [
        new VueLoaderPlugin(),
        //new webpack.HotModuleReplacementPlugin()//导入热更新的插件
        //在内存中生成html
        new htmlWebpackPlugin({
            //创建一个在内存中生成的html
            template:path.join(__dirname,'./src/index.html'),
            filename:'index.html'//指定生成页面的名称
        })
    ],
    module:{//配置所有第三方模块，加载器，
        rules:[ // 匹配规则
            { test:/\.css$/ ,use:['style-loader','css-loader'] },
/*            { test:/\.less$/ ,use:['style-loader','css-loader','less-loader'] },
            { test:/\.sass$/ ,use:['style-loader','css-loader','sass-loader'] },*/
             { test:/\.(jpg|png|gif|bpm|jpeg)$/ ,use:'url-loader?limit=7632' },
            //url-loader?limit=7632用来传参,指定图片大小是否转码base64
            //url-loader?limit=7632&name=[hash:8]-[name].[ext] 指定打包后文件名和原文件名相同（不推荐）
            { test:/\.(ttf|eot|svg|woff|woff2)$/ ,use:['url-loader'] },
            { test:/\.js$/, use:'babel-loader',exclude:/node_modules/},
            {test:/\.vue$/,use:'vue-loader'}
        ]
    },
    resolve:{
        alias:{
            "vue$":"vue/dist/vue.js"
        }

    }
};